@Ineverleft
2年前 提问
1个回答

解析漏洞有哪些类型

GQQQy
2年前

解析漏洞主要是一些特殊文件被Apache、IIS、Nginx等Web容器在某种情况下解释成脚本文件格式并得以执行而产生的漏洞。主要有:

IIS 5.x/6.0解析漏洞

目录解析:在网站下建立文件夹的名称中带有.asp、.asa等可执行脚本文件后缀的文件夹,其目录内的任何扩展名的文件都被IIS当作可执行文件来解析并执行。

http://www.xxx.com/xx.asp/xx.jpg

文件解析:在IIS6.0下,分号后面的不被解析,也就是说6.0下,分号后面的不被解析,也就是说xx.asp;.jpg将被当做xx.asp解析并执行。

http://www.xxx.com/xx.asp;.jpg

IIS6.0 默认的可执行文件有asp、asa、cer、cdx四种。

IIS 7.0/IIS 7.5/ Nginx < 0.8.3畸形解析漏洞

在默认Fast-CGI开启状况下,访问以下网址,服务器将把xx.jpg文件当做php解析并执行。

http://www.xxx.com/xx.jpg/.php

Nginx < 8.03 空字节代码执行漏洞

影响范围:Nginx0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37

访问以下网址,服务器将把xx.jpg文件当做php解析并执行。

http://www.xxx.com/xx.jpg%00.php

Apache解析漏洞

Apache对文件解析是从右到左开始判断解析,如果文件的后缀为不可识别,就再往左判断,解析。 如xx.php.owf.rar,由于Apache无法解析rar和owf后缀,但能够解析php后缀,因此Apache会将xx.php.owf.rar当做php格式的文件进行解析并执行。

访问以下网址,服务器将把xx.php.owf.rar文件当做php解析并执行。

http://www.xxx.com/xx.php.owf.rar

CVE-2013-4547 Nginx解析漏洞

访问以下网址,服务器将把xx.jpg文件当做php解析并执行。

http://www.xxx.com/xx.jpg(非编码空格)0.php

使用.htaccess将任意文件作为可执行脚本解析

如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入:

<FilesMatch ".(jpg)$"> SetHandler application/x-httpd-php </FilesMatch>

这将把目录下的所有后缀为jpg的文件当做可执行的php脚本进行解析并执行。